package com.yidu.hbatsams.service.Impl;

import com.yidu.hbatsams.dao.ModuleMapper;
import com.yidu.hbatsams.dao.RoleModuleMapper;
import com.yidu.hbatsams.domain.Module;
import com.yidu.hbatsams.domain.RoleModule;
import com.yidu.hbatsams.domain.vo.RoleModuleVo;
import com.yidu.hbatsams.service.RoleModuleService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.*;

@Service
public class RoleModuleServiceImpl implements RoleModuleService {

     @Resource
     RoleModuleMapper roleModuleMapper;
     @Resource
     ModuleMapper moduleMapper ;

    @Override
    public List<RoleModuleVo> findRoleId(String id) {
        List<RoleModule> list = roleModuleMapper.findRoleId(id);
        List<Module> listModule = moduleMapper.findAll(null);
        Map<String,Module> map = new HashMap<>();
        for(int i = 0 ; i < listModule.size() ; i++){
            map.put(listModule.get(i).getModuleId(),listModule.get(i));
        }
        List<RoleModuleVo> listVo = new ArrayList<RoleModuleVo>();
        for (Iterator iterator = list.iterator(); iterator.hasNext();) {
            RoleModule roleModule = (RoleModule) iterator.next();
                Module module = map.get(roleModule.getModuleId());
                RoleModuleVo roleModuleVo = new RoleModuleVo();
                BeanUtils.copyProperties(roleModule, roleModuleVo);

                roleModuleVo.setModModuleId(module.getModModuleId());

                roleModuleVo.setModuleId(module.getModuleId());

                roleModuleVo.setModuleName(module.getModuleName());

                roleModuleVo.setModuleAddress(module.getModuleAddress());

                listVo.add(roleModuleVo);

        }
        return listVo;
    }
}
